/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package mx.itschapala.sdw2.listener;

import javax.faces.application.NavigationHandler;
import javax.faces.component.UIViewRoot;
import javax.faces.context.FacesContext;
import javax.faces.event.PhaseEvent;
import javax.faces.event.PhaseId;
import javax.faces.event.PhaseListener;
import javax.servlet.http.HttpSession;

/**
 *
 * @author Maricela
 */
public class ValidadorSesion implements PhaseListener{

    @Override
    // esto es para validar el usuario y nos permita entrar a la aplicacion y ps de la misma manera no deje que nadie q no este logeado entre a la aplicacion
  //de aki tenemos que hacer el faces-config
    public void afterPhase(PhaseEvent event) {
       FacesContext fc = event.getFacesContext();
       UIViewRoot viewRoot = fc.getViewRoot();
       if (viewRoot != null && !viewRoot.getViewId().equalsIgnoreCase("/PaginaLogin.xhtml")){
           HttpSession sesion = (HttpSession) fc.getExternalContext().getSession(false);
            if (sesion == null || sesion.getAttribute("USUARIO_LOGUEADO")== null){
                NavigationHandler nh = fc.getApplication().getNavigationHandler();
                nh.handleNavigation(fc, null, "pagina2");
                fc.renderResponse();
            }
       }
    }

    @Override
    public void beforePhase(PhaseEvent event) {
        
    }

    @Override
    public PhaseId getPhaseId() {
       return PhaseId.RESTORE_VIEW;
    }
    
}
